The present invention relates to bar code scanners and, more particularly, to label scanning systems of the type which are designed to read labels having information which may be presented in any of a number of different codes commonly in use.
Labels bearing information in a number of different bar code formats are typically used in a number of different applications. It is common, for example, to encode product identification information as a series of printed bars or dark areas, and interposed white spaces or light areas, on a product package or on a label affixed to the product package. An electro-optical scanner located at a check-out station in a retail establishment is then used by a clerk to automatically enter the product identification data into a computer terminal. This permits the computer to then determine the total price of the products being purchased, as well as storing the identity of the purchased products for inventory and accounting purposes.
While such an arrangement greatly enhances the efficiency of the check-out process in the retail establishment and additionally allows the accumulation of sales data which is important for proper management controls, difficulties are encountered in the scanning operation due to the nature of the products being scanned and the number of different bar codes currently in use. Packaging for various products is designed to make the products appealing to the consumer and, as a consequence, may include various graphics and test which, when scanned, produce a binary scan signal which mimics that produced when a label having valid bar code symbols is scanned. Additionally, a number of different bar codes have come into popular use, and the scanner circuitry must be capable of recognizing and decoding labels printed in each of these codes.
It is important that the scanner system be capable of accomplishing these tasks automatically, without intervention by the clerk, even if several labels in different bar codes are affixed to a single product. This presents substantial difficulties since the bar codes vary significantly in their formats. As an example, Code 3 of 9 is a binary code using elements of two widths in a symbol to represent a single character. Each of the 44 defined patterns of bars and spaces consists of five bars and four spaces. Each pattern represents one character in the forward direction and has the appearance of a second character in the reverse direction. The Interleaved 2 of 5 code, on the other hand, is a binary code using elements of two widths to represent numeric characters. Each frame or symbol, ten elements in length, contains two characters, the first being represented by the bar pattern, and the second by the space pattern. There is no gap between adjacent characters. In both codes, the proper scan direction, which may be a direction opposite to that in which the symbol was actually scanned by the electro-optical scanner, is determined by start and stop patterns at the beginning and end of the string of characters.
A number of other bar codes have also come into common use, including for example Codabar, Code 93, Code 128, the Universal Code (UPC), and the European Article Numbering (EAN) code. It will be appreciated that there is a need for a method of decoding a label in any of these codes without requiring an operator assessment of the specific code used for the label.